package com.xyzq.model.ya.report;

import java.util.Date;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.appfuse.model.BaseObject;

import com.xyzq.model.ya.data.Staff;

public class StaffAccountAssert extends BaseObject {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4126194701332134106L;
	private Staff staff;
	private Double RMB;
	private Double HK;
	private Double USA;
	private Double mutilBank;
	private Double creditCash;
	private Double creditStock;
	private Double ETF;
	private Double LOF;
	private Double warrant;
	private Double corporateBond;
	private Double corporateConvertiblBond;
	private Double TSXV;
	private Double marketFund;
	private Double normalSubscribe;
	private Double subscribeReceivedPayments;
	private Double stock;
	private Double fund;
	private Double bookingPublicDebts;
	private Double other;
	private Double sum;
	private Date day;

	public StaffAccountAssert() {
		super();
	}

	public StaffAccountAssert(Staff staff) {
		super();
		this.staff = staff;
		this.RMB = new Double(0);
		this.HK = new Double(0);
		this.USA = new Double(0);
		this.mutilBank = new Double(0);
		this.creditCash = new Double(0);
		this.creditStock = new Double(0);
		this.ETF = new Double(0);
		this.LOF = new Double(0);
		this.warrant = new Double(0);
		this.corporateBond = new Double(0);
		this.corporateConvertiblBond = new Double(0);
		this.TSXV = new Double(0);
		this.marketFund = new Double(0);
		this.normalSubscribe = new Double(0);
		this.subscribeReceivedPayments = new Double(0);
		this.stock = new Double(0);
		this.fund = new Double(0);
		this.bookingPublicDebts = new Double(0);
		this.other = new Double(0);
		this.sum = new Double(0);
	}

	public Staff getStaff() {
		return staff;
	}

	public Double getRMB() {
		return RMB;
	}

	public Double getHK() {
		return HK;
	}

	public Double getUSA() {
		return USA;
	}

	public Double getETF() {
		return ETF;
	}

	public Double getLOF() {
		return LOF;
	}

	public Double getWarrant() {
		return warrant;
	}

	public Double getCorporateBond() {
		return corporateBond;
	}

	public Double getCorporateConvertiblBond() {
		return corporateConvertiblBond;
	}

	public Double getTSXV() {
		return TSXV;
	}

	public Double getMarketFund() {
		return marketFund;
	}

	public Double getNormalSubscribe() {
		return normalSubscribe;
	}

	public Double getSubscribeReceivedPayments() {
		return subscribeReceivedPayments;
	}

	public Double getStock() {
		return stock;
	}

	public Double getOther() {
		return other;
	}

	public Date getDay() {
		return day;
	}

	public void setStaff(Staff staff) {
		this.staff = staff;
	}

	public void setRMB(Double rMB) {
		RMB = rMB;
	}

	public void setHK(Double hK) {
		HK = hK;
	}

	public void setUSA(Double uSA) {
		USA = uSA;
	}

	public void setETF(Double eTF) {
		ETF = eTF;
	}

	public void setLOF(Double lOF) {
		LOF = lOF;
	}

	public void setWarrant(Double warrant) {
		this.warrant = warrant;
	}

	public void setCorporateBond(Double corporateBond) {
		this.corporateBond = corporateBond;
	}

	public void setCorporateConvertiblBond(Double corporateConvertiblBond) {
		this.corporateConvertiblBond = corporateConvertiblBond;
	}

	public void setTSXV(Double tSXV) {
		TSXV = tSXV;
	}

	public void setMarketFund(Double marketFund) {
		this.marketFund = marketFund;
	}

	public void setNormalSubscribe(Double normalSubscribe) {
		this.normalSubscribe = normalSubscribe;
	}

	public void setSubscribeReceivedPayments(Double subscribeReceivedPayments) {
		this.subscribeReceivedPayments = subscribeReceivedPayments;
	}

	public void setStock(Double stock) {
		this.stock = stock;
	}

	public void setOther(Double other) {
		this.other = other;
	}

	public void setDay(Date day) {
		this.day = day;
	}

	@Override
	public String toString() {
		ToStringBuilder builder = new ToStringBuilder(this);
		builder.append("staff", staff);
		builder.append("RMB", RMB);
		builder.append("HK", HK);
		builder.append("USA", USA);
		builder.append("mutilBank", mutilBank);
		builder.append("creditCash", creditCash);
		builder.append("creditStock", creditStock);
		builder.append("ETF", ETF);
		builder.append("LOF", LOF);
		builder.append("warrant", warrant);
		builder.append("corporateBond", corporateBond);
		builder.append("corporateConvertiblBond", corporateConvertiblBond);
		builder.append("TSXV", TSXV);
		builder.append("marketFund", marketFund);
		builder.append("normalSubscribe", normalSubscribe);
		builder.append("subscribeReceivedPayments", subscribeReceivedPayments);
		builder.append("stock", stock);
		builder.append("fund", fund);
		builder.append("bookingPublicDebts", bookingPublicDebts);
		builder.append("other", other);
		builder.append("day", day);
		return builder.toString();
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		StaffAccountAssert other = (StaffAccountAssert) obj;
		if (ETF == null) {
			if (other.ETF != null)
				return false;
		} else if (!ETF.equals(other.ETF))
			return false;
		if (HK == null) {
			if (other.HK != null)
				return false;
		} else if (!HK.equals(other.HK))
			return false;
		if (LOF == null) {
			if (other.LOF != null)
				return false;
		} else if (!LOF.equals(other.LOF))
			return false;
		if (RMB == null) {
			if (other.RMB != null)
				return false;
		} else if (!RMB.equals(other.RMB))
			return false;
		if (TSXV == null) {
			if (other.TSXV != null)
				return false;
		} else if (!TSXV.equals(other.TSXV))
			return false;
		if (USA == null) {
			if (other.USA != null)
				return false;
		} else if (!USA.equals(other.USA))
			return false;
		if (bookingPublicDebts == null) {
			if (other.bookingPublicDebts != null)
				return false;
		} else if (!bookingPublicDebts.equals(other.bookingPublicDebts))
			return false;
		if (corporateBond == null) {
			if (other.corporateBond != null)
				return false;
		} else if (!corporateBond.equals(other.corporateBond))
			return false;
		if (corporateConvertiblBond == null) {
			if (other.corporateConvertiblBond != null)
				return false;
		} else if (!corporateConvertiblBond
				.equals(other.corporateConvertiblBond))
			return false;
		if (creditCash == null) {
			if (other.creditCash != null)
				return false;
		} else if (!creditCash.equals(other.creditCash))
			return false;
		if (creditStock == null) {
			if (other.creditStock != null)
				return false;
		} else if (!creditStock.equals(other.creditStock))
			return false;
		if (day == null) {
			if (other.day != null)
				return false;
		} else if (!day.equals(other.day))
			return false;
		if (fund == null) {
			if (other.fund != null)
				return false;
		} else if (!fund.equals(other.fund))
			return false;
		if (marketFund == null) {
			if (other.marketFund != null)
				return false;
		} else if (!marketFund.equals(other.marketFund))
			return false;
		if (mutilBank == null) {
			if (other.mutilBank != null)
				return false;
		} else if (!mutilBank.equals(other.mutilBank))
			return false;
		if (normalSubscribe == null) {
			if (other.normalSubscribe != null)
				return false;
		} else if (!normalSubscribe.equals(other.normalSubscribe))
			return false;
		if (this.other == null) {
			if (other.other != null)
				return false;
		} else if (!this.other.equals(other.other))
			return false;
		if (staff == null) {
			if (other.staff != null)
				return false;
		} else if (!staff.equals(other.staff))
			return false;
		if (stock == null) {
			if (other.stock != null)
				return false;
		} else if (!stock.equals(other.stock))
			return false;
		if (subscribeReceivedPayments == null) {
			if (other.subscribeReceivedPayments != null)
				return false;
		} else if (!subscribeReceivedPayments
				.equals(other.subscribeReceivedPayments))
			return false;
		if (warrant == null) {
			if (other.warrant != null)
				return false;
		} else if (!warrant.equals(other.warrant))
			return false;
		return true;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((ETF == null) ? 0 : ETF.hashCode());
		result = prime * result + ((HK == null) ? 0 : HK.hashCode());
		result = prime * result + ((LOF == null) ? 0 : LOF.hashCode());
		result = prime * result + ((RMB == null) ? 0 : RMB.hashCode());
		result = prime * result + ((TSXV == null) ? 0 : TSXV.hashCode());
		result = prime * result + ((USA == null) ? 0 : USA.hashCode());
		result = prime
				* result
				+ ((bookingPublicDebts == null) ? 0 : bookingPublicDebts
						.hashCode());
		result = prime * result
				+ ((corporateBond == null) ? 0 : corporateBond.hashCode());
		result = prime
				* result
				+ ((corporateConvertiblBond == null) ? 0
						: corporateConvertiblBond.hashCode());
		result = prime * result
				+ ((creditCash == null) ? 0 : creditCash.hashCode());
		result = prime * result
				+ ((creditStock == null) ? 0 : creditStock.hashCode());
		result = prime * result + ((day == null) ? 0 : day.hashCode());
		result = prime * result + ((fund == null) ? 0 : fund.hashCode());
		result = prime * result
				+ ((marketFund == null) ? 0 : marketFund.hashCode());
		result = prime * result
				+ ((mutilBank == null) ? 0 : mutilBank.hashCode());
		result = prime * result
				+ ((normalSubscribe == null) ? 0 : normalSubscribe.hashCode());
		result = prime * result + ((other == null) ? 0 : other.hashCode());
		result = prime * result + ((staff == null) ? 0 : staff.hashCode());
		result = prime * result + ((stock == null) ? 0 : stock.hashCode());
		result = prime
				* result
				+ ((subscribeReceivedPayments == null) ? 0
						: subscribeReceivedPayments.hashCode());
		result = prime * result + ((warrant == null) ? 0 : warrant.hashCode());
		return result;
	}

	public void setFund(Double fund) {
		this.fund = fund;
	}

	public Double getFund() {
		return fund;
	}

	public void setBookingPublicDebts(Double bookingPublicDebts) {
		this.bookingPublicDebts = bookingPublicDebts;
	}

	public Double getBookingPublicDebts() {
		return bookingPublicDebts;
	}

	public void setCreditCash(Double creditCash) {
		this.creditCash = creditCash;
	}

	public Double getCreditCash() {
		return creditCash;
	}

	public void setMutilBank(Double mutilBank) {
		this.mutilBank = mutilBank;
	}

	public Double getMutilBank() {
		return mutilBank;
	}

	public void setCreditStock(Double creditStock) {
		this.creditStock = creditStock;
	}

	public Double getCreditStock() {
		return creditStock;
	}

	public void setSum(Double sum) {
		this.sum = sum;
	}

	public Double getSum() {
		sum = RMB + HK + USA + mutilBank + creditCash + creditStock + ETF + LOF
				+ warrant + corporateBond + corporateConvertiblBond + TSXV
				+ marketFund + normalSubscribe + subscribeReceivedPayments
				+ stock + fund + other + bookingPublicDebts;
		return sum;
	}

}
